home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / qbprog.EXE / HANG.BAS < prev    next >
BASIC Source File  |  1995-04-26  |  9KB  |  109 lines

  1. 10 LOCATE , , 0: SCREEN 0, 0, 0: ON KEY(10) GOSUB 610: KEY(10) ON: DEFINT A-T: DEFSTR U, W: DIM WORD(100), A(100), USED(27): GOSUB 820: FOR B = 0 TO 100: READ WORD(B): NEXT: GOSUB 520
  2. 20 CLS : LOCATE 1, 29: PRINT "A D A M   A S M A C A": FOR C = 1 TO 27: USED(C) = "": NEXT: A = A + 1: CHANCE = 0: RANDOMIZE (VAL(RIGHT$(TIME$, 2)))
  3. 30 B = RND(1) * 100: A(A) = B:
  4.    FOR C = 0 TO A - 1:
  5.    IF A(C) = B THEN 30:
  6.    NEXT:
  7.    L = LEN(WORD(B)): WORD = SPACE$(L): WH1 = SPACE$(L): X = 1
  8. 40 LOCATE 10, 30: FOR C = 1 TO L: IF MID$(WORD, C, 1) = " " THEN PRINT "- ";  ELSE PRINT MID$(WORD, C, 1); " ";
  9. 50 NEXT: XLIN = CSRLIN: YPOS = POS(0): GOSUB 630: COLOR 0, 7: LOCATE 4, 23: PRINT " Bunlar kullandìgìnìz harflerdir... ": COLOR 3, 0: LOCATE 6, 25: FOR C = 1 TO X: PRINT USED(C); " "; : NEXT: LOCATE 8, 30: PRINT "Kelimeniz... :"
  10. 60 COLOR 15, 0: LOCATE 12, 28, 1: PRINT "Lütfen bir harf yazìn"; : COLOR 3, 0: GOSUB 600
  11. 70 IF W >= "A" AND W <= "Z" THEN 80
  12.    FOR G = 1 TO X: IF W = USED(G) THEN 190:
  13.    NEXT
  14. 80 LOCATE 10, 28, 0: FLAG = 0: FOR G = 1 TO L: IF W = MID$(WORD(B), G, 1) THEN FLAG = 1: LOCATE 10, 28 + 2 * G: PRINT MID$(WORD(B), G, 1); : MID$(WORD, G, 1) = MID$(WORD(B), G, 1): IF WORD = WORD(B) THEN 130
  15. 90 NEXT: USED(X) = W: X = X + 1: IF FLAG = 0 THEN GOSUB 200: IF CHANCE = 10 THEN 140 ELSE 40
  16. 100 FLAG = 0: LOCATE 12, 1: PRINT SPC(79); : COLOR 15, 0: LOCATE 24, 20: PRINT "Tahmininizi yazìn ve ENTER'a basìn"; : COLOR 31, 0: LOCATE 21, 20, 1: PRINT "Sizce Kelime Nedir ? "; : COLOR 7, 0: GOSUB 850
  17. 110 WH = WA: COLOR 3, 0: IF WH = WORD(B) THEN 130
  18. 120 LOCATE 24, 1: PRINT SPC(79); : LOCATE 22, 30: PRINT "iYi Deneme fakat YANLIS!!": LOCATE 21, 1: PRINT STRING$(80, 32); : FOR G = 1 TO 2000: NEXT: LOCATE 22, 1: PRINT STRING$(80, 32); : GOTO 40
  19. 130 PLAY "T140" + "MN" + "MB": PLAY "MB O2" + "G4. A4 B8 O3 C4.O2 B4 A8 G4 A8 G4 E8 D4. C4.": PLAY "MB O2" + "G4. A4 B8 O3 C4.O2 B4 A8 G4 A8 G4 E8 D4. C4.": GOSUB 680: LOCATE 23, 19: PRINT " BASARDINIZ !!!!     "; X - 1; "Tries": COLOR 0, 7
  20. 140 LOCATE 25, 20: PRINT " Baska Bir Kelime Tahmin Etmek istermisin <Y/N> "; : COLOR 3, 0
  21. 150 GOSUB 600: IF W = "Y" THEN 20 ELSE IF W <> "N" THEN 150
  22. 160 CLS : LOCATE 10, 22: PRINT "A D A M  A S M A C A 'yì oynadìgìnìz için TESEKKÜRLER": GOTO 650
  23. 170 LOCATE 12, 23: PRINT "Geçersiz deneme.Bir daha deneyin.";
  24. 180 FOR G = 1 TO 4500: NEXT: LOCATE 12, 1: PRINT SPC(70); : GOTO 60
  25. 190 LOCATE 12, 16: PRINT "O Harfi zaten kullanmìstìn. LÜTFEN Bir daha deneyin.": GOTO 180
  26. 200 CHANCE = CHANCE + 1: CLS : COLOR 15, 0: ON CHANCE GOTO 310, 300, 290, 280, 270, 260, 250, 240, 230
  27. 210 GOSUB 480
  28. 220 GOSUB 400
  29. 230 GOSUB 390
  30. 240 GOSUB 440
  31. 250 GOSUB 430
  32. 260 GOSUB 420
  33. 270 GOSUB 410
  34. 280 GOSUB 380
  35. 290 GOSUB 370
  36. 300 GOSUB 360
  37. 310 GOSUB 350: COLOR 3, 0
  38. 320 IF CHANCE = 10 THEN GOSUB 450
  39. 330 FOR C = 1 TO 3500: NEXT: IF CHANCE < 10 THEN CLS
  40. 340 RETURN
  41. 350 COLOR 15, 0: LOCATE 3, 35: PRINT "┌─────┐": LOCATE 4, 35: PRINT "│ "; CHR$(1); " "; CHR$(1); " │": LOCATE 5, 35: PRINT "│  Ω  │": LOCATE 6, 35: PRINT "│ ═══ │": LOCATE 7, 35: PRINT "└─────┘": COLOR 3, 0: RETURN
  42. 360 COLOR 2, 0: LOCATE 8, 33: PRINT "▄▄▄▄███▄▄▄▄": LOCATE 9, 32: PRINT "░░░░░░░░░░░░░": FOR C = 10 TO 13: LOCATE C, 35: PRINT STRING$(7, 176): NEXT: LOCATE 14, 35: PRINT "░░░░░░░": LOCATE 15, 36: PRINT "█████": COLOR 3, 0: RETURN
  43. 370 COLOR 5, 0: FOR C = 16 TO 19: LOCATE C, 36: PRINT "██": NEXT: RETURN
  44. 380 COLOR 5, 0: FOR C = 16 TO 19: LOCATE C, 39: PRINT "██": NEXT: RETURN
  45. 390 COLOR 4, 0: LOCATE 20, 39: PRINT "░░░░": COLOR 3, 0: RETURN
  46. 400 COLOR 4, 0: LOCATE 20, 34: PRINT "░░░░": COLOR 3, 0: RETURN
  47. 410 COLOR 14, 0: LOCATE 10, 31: PRINT "▒▒": LOCATE 11, 30: PRINT "▒▒": LOCATE 12, 29: PRINT "▒▒": COLOR 3, 0: RETURN
  48. 420 COLOR 14, 0: LOCATE 10, 44: PRINT "▒▒": LOCATE 11, 45: PRINT "▒▒": LOCATE 12, 46: PRINT "▒▒": COLOR 3, 0: RETURN
  49. 430 COLOR 7, 0: LOCATE 13, 28: PRINT "███": COLOR 3, 0: RETURN
  50. 440 COLOR 7, 0: LOCATE 13, 46: PRINT "███": COLOR 3, 0: RETURN
  51. 450 LOCATE 2, 38: PRINT "║": LOCATE 3, 38: PRINT "╨"
  52. 460 PLAY "T120" + "MN" + "MB": PLAY "O3L8C.L16C" + "L2F.L8C.L16F": PLAY "L2A.L8C.L16F" + "L4A" + "L8C." + "L16F" + "L4A" + "L8C." + "L16F" + "L2A.": PLAY "O3" + "L8F.L16A" + "ML" + "O4L2C" + "MN" + "O3L4AL4FL2C.": PLAY "O3L8C.L16C" + "ML" + "L1F" +  _
  53. "MN" + "L4F"
  54. 470 FOR C = 1 TO 1200: NEXT: FOR C = 50 TO 200 STEP 1: SOUND C, .0001: NEXT: SOUND C, 0: LOCATE 21, 31: PRINT SPC(20); : RETURN
  55. 480 LOCATE 1, 15: PRINT STRING$(25, 178): LOCATE 2, 15: PRINT STRING$(5, 178): FOR C = 3 TO 20: LOCATE C, 15: PRINT STRING$(4, 178): NEXT: LOCATE 21, 5: PRINT STRING$(40, 178): FOR C = 22 TO 23: LOCATE C, 5: PRINT STRING$(4, 178); SPC(15); STRING$(4 _
  56. , 178): NEXT: COLOR 3, 0: RETURN
  57. 490  _
  58. DATA BUG,PRINTER,GAME,ELBOW,PIZZA,BUDGET,CRY,THING,FEIGN,CARD,TALK,EXAMPLE,TENSION,CALCULATOR,SHOE,TABLE,STEREO,BICYCLE,GUESS,BLENDER,FAULT,DIRTY,LOUDSPEAKER,CHICKEN,DANGEROUS,DIFFERENT,SCIENTIST,KIDNEY,SELF,MAHOGANY,UGLY,FRIENDLYWARE,PROGRAM,OPERA
  59. 500 DATA MUSIC,REPLICA,COMPUTER,BABOON,CHIMPANZEE,CHAIR,HORSE,FELLOW,AUTOMOBILE,KIDNAP,LAMP,LIGHT,FREEZER,FRY,SKATE,ERRONEOUSLY,SEQUENCE,AFTER,HIGHWAY,POLICE,ART,CRIED,FLY,AIRPLANE,SAILBOAT,HOUSE,DRIVEWAY,FENCE,HOTEL,MOTEL,SWIM,OCEAN,LAKE
  60. 510 DATA DRIVE,ICE,SNOW,CATCH,FALL,WALL,FLOOR,ESCAPE,MASTER,CHECK,FILE,JUMP,CEMENT,ASPHALT,BRICK,MAILBOX,TRUCK,THUNDER,LIGHTNING,RAIN,ADVENTURE,BUS,TOWER,SKYSCRAPER,LAWN,ELEPHANT,CIRCUS,SCARY,KILLED,BABY,PUPPIES,CHURCH,STORE,STREET
  61. 520 CLS : COLOR 15, 0: LOCATE 1, 1: PRINT "╔"; STRING$(78, 205); "╗": FOR A = 2 TO 22: LOCATE A, 1: PRINT "║": LOCATE A, 80: PRINT "║"; : NEXT: LOCATE 23, 1: PRINT "╚"; STRING$(78, 205); "╝"; : LOCATE 2, 34: PRINT "H A N G M A N"
  62. 530 LOCATE 9, 24: PRINT "Would You Like Instructions? <Y/N>  ": COLOR 3, 0
  63. 540 GOSUB 600: IF W = "N" OR W = "n" THEN RETURN ELSE IF W <> "Y" AND W <> "y" THEN 540
  64. 550 LOCATE 4, 17: PRINT "In this game of HANGMAN I will select a secret": LOCATE 5, 17: PRINT "word. It is your problem to guess this word in": LOCATE 6, 17: PRINT "TEN tries or less. You do this by guessing one"
  65. 560 LOCATE 7, 17: PRINT "letter at a time. If the letter that you guess": LOCATE 8, 17: PRINT "is in the word,  I will put it in the position": LOCATE 9, 17: PRINT "that it belongs,  and allow you to guess  what"
  66. 570 LOCATE 10, 17: PRINT "the secret word is. If the letter you guess is": LOCATE 11, 17: PRINT "not part of the secret  word,  another part of": LOCATE 12, 17: PRINT "the man will be added. You will have ten wrong"
  67. 580 LOCATE 13, 17: PRINT "guesses  before  your man is hung.  If you are": LOCATE 14, 17: PRINT "able to guess the secret word, the man gets to": LOCATE 15, 17: PRINT "go free! It's up to you.": LOCATE 18, 29: PRINT "GOOD LUCK AND HAVE FUN"
  68. 590 COLOR 15, 0: LOCATE 25, 27: PRINT "Strike Any Key To Continue"; : COLOR 3, 0: W = INKEY$: IF W <> "" THEN 600
  69. 600 W = INKEY$: IF W = "" THEN 600 ELSE IF W < "a" OR W > "z" THEN RETURN ELSE W = CHR$(ASC(W) - 32): RETURN
  70. 610 KEY(10) OFF: XLIN = CSRLIN: YPOS = POS(0): LOCATE 25, 1: PRINT SPC(79); : LOCATE 25, 23: COLOR 15, 0: PRINT "Do You Wish To Leave This Game? <Y/N>"; : COLOR 3, 0
  71. 620 GOSUB 600: IF W <> "N" THEN 640 ELSE W = ""
  72. 630 LOCATE 25, 1: PRINT SPC(79); : LOCATE 25, 25: COLOR 0, 7: PRINT " Strike <F10> To Leave This Game "; : COLOR 3, 0: LOCATE XLIN, YPOS: KEY(10) ON: RETURN
  73. 640 IF W <> "Y" THEN 620
  74. 650 ON ERROR GOTO 660: RUN "MENU1.001"
  75. 660 ON ERROR GOTO 670:
  76. 670 RUN "MENU3.003"
  77. 680 CLS : GOSUB 820
  78. 690 GOSUB 400
  79. 700 GOSUB 390
  80. 710 GOSUB 440
  81. 720 GOSUB 430
  82. 730 GOSUB 420
  83. 740 GOSUB 410
  84. 750 GOSUB 380
  85. 760 GOSUB 370
  86. 770 GOSUB 360
  87. 780 GOSUB 350
  88. 790 COLOR 15, 0: LOCATE 6, 35, 0: PRINT "│ \=/ │": COLOR 6, 0
  89. 800 FOR A = 1 TO 12: LOCATE 9, 45: PRINT X$(0): LOCATE 9, 32: PRINT X1$(0): LOCATE 9, 45: PRINT X$(1): LOCATE 9, 32: PRINT X1$(1): LOCATE 9, 45: PRINT Y$(1): LOCATE 9, 32: PRINT Y1$(1): LOCATE 9, 45: PRINT X$(2): LOCATE 9, 32: PRINT X1$(2): LOCATE 9 _
  90. , 45: PRINT Y$(2)
  91. 810 LOCATE 9, 32: PRINT Y1$(2): LOCATE 9, 45: PRINT X$(1): LOCATE 9, 32: PRINT X1$(1): LOCATE 9, 45: PRINT Y$(1): LOCATE 9, 32: PRINT Y1$(1): GOSUB 410: GOSUB 420: GOSUB 430: GOSUB 440: NEXT: LOCATE , , 1: RETURN
  92. 820 X$(1) = "▒▒▒▒▒▒▒▒▒███": Y$(1) = "            ": X1$(1) = STRING$(12, 29) + "███▒▒▒▒▒▒▒▒▒": Y1$(1) = STRING$(12, 29) + "            ": W = CHR$(30) + CHR$(29): X$(2) = "▒" + W + "▒▒" + W + "▒▒" + W + "▒▒" + W + CHR$(29) + "███": Y$(2) = " " + W + _
  93.  "  " + W + "  " + W + "  " + W + CHR$(29) + "   "
  94. 830 W = CHR$(30) + STRING$(3, 29): X1$(2) = CHR$(29) + "▒" + W + " ▒▒" + W + "▒▒" + W + "▒▒" + W + "███": Y1$(2) = CHR$(29) + " " + W + "   " + W + "  " + W + "  " + W + CHR$(29) + "    ": W = CHR$(31) + CHR$(29): X$(0) = W + "  " + W + "  " + W +  _
  95. "  " + W + CHR$(29) + "   ": W = CHR$(31) + STRING$(4, 29) + "    "
  96. 840 X1$(0) = CHR$(28) + W + W + W + CHR$(29) + W: RETURN
  97. 850 WH = "": IF INKEY$ <> "" THEN 850
  98. 860 WI = INKEY$: IF WI = "" THEN 860
  99. 870 IF WI = CHR$(13) THEN WA = SPACE$(LEN(WORD(B))): LSET WA = WH: RETURN
  100. 880 IF WI = CHR$(8) THEN 940
  101. 890 IF LEN(WI) > 1 THEN IF RIGHT$(WI, 1) = CHR$(75) THEN 940 ELSE 860
  102. 900 IF LEN(WH) > LEN(WORD(B)) THEN 860
  103. 910 IF WI < "a" OR WI > "z" THEN 930
  104. 920 WI = CHR$(ASC(WI) - 32)
  105. 930 WH = WH + WI: PRINT WI; : GOTO 860
  106. 940 IF LEN(WH) < 1 THEN 860
  107. 950 PRINT CHR$(29); " "; CHR$(29); : WH = LEFT$(WH, LEN(WH) - 1): GOTO 860
  108.  
  109.